void main() {
  // 字面量
  Set nums = <int>{1, 2, 2, 3};
  print(nums);

  // 构造函数
  Set fruits = new Set();
  fruits.add('dda');
  fruits.add('dda3');
  fruits.add('ddasd');
  fruits.add('dda');
  print(fruits);
  print(fruits.toList());

  List nums1 = [1, 2, 2, 3, 3, 4];
  print(nums1.toSet()); // 可以将重复的元素过滤掉

  // 集合特有的操作
  Set p = new Set();
  p.addAll(['p1', 'p2', 'p3', 4]);

  Set l = new Set();
  l.addAll(['l1', 'l2', 'l3', 4]);
  // 求交集
  print(p.intersection(l));
  // 求并集 合并并且去重
  print(p.union(l));

  // 求差集
  print(p.difference(l));

  // 返回元素
  print(p.first);
  print(p.last);

  // 集合不能通过下标取值
  // print(p[1]);
}
